class RutFormatValidator < ActiveModel::EachValidator
  def validate_each(object, attribute, rut)
    rut=rut.delete "."#borra los puntos 
    rut=rut.delete "-"#borra los guiones 
    dv = rut[-1,1]     #obtiene el último digito... del digito verificador
    rut = rut[0..-2]   #Saca el digito verificador
    secuencia = [2, 3, 4, 5, 6, 7, 2, 3]
    sum = 0
    for i in 0..rut.length-1
      sum += (rut[rut.length-(i+1),1].to_i*secuencia[i])
    end
    rest = 11 - (sum % 11)
    unless rest == dv.to_i
      object.errors[attribute] << (options[:message] || "invalido") 
    end
  end
end